#include<iostream>
#include<vector>
using namespace std;

const int N = 10;
int n;
vector<int> path;
bool st[N];

void dfs(){
	if(path.size() == n){
//		for(int i = 0; i< n;i++){
//			printf("%5d", path[i]);
//		}
		for(auto x : path){
			printf("%5d",x);
		}
		cout<<endl;
		return;
	}
	for(int i = 1;i <= n;i++){
		if(st[i]) continue;
		path.push_back(i);
		st[i] = true;
		dfs();
		path.pop_back();
		st[i] = false;
	}
}

int main(){
	cin>>n;
	dfs();
	return 0;
} 
